package com.bh.order.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 客户预录单对象 jc_presco
 * 
 * @author slx
 * @date 2024-03-21
 */
@TableName("jc_presco")
@ApiModel(value = "客户预录单对象", description = "客户预录单对象")
@EqualsAndHashCode(callSuper = true)
@Data
public class JcPresco extends BhtmsBaseEntity implements Serializable
{
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** 地址 */
    @ApiModelProperty("地址")
    @Excel(name = "地址")
    private String address;

    /** 客户类型 */
    @ApiModelProperty("客户类型")
    @Excel(name = "客户类型")
    private Integer customerType;

    /** 受理日期 */
    @ApiModelProperty("受理日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "受理日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dateAccepted;

    /** 提货公里数 */
    @ApiModelProperty("提货公里数")
    @Excel(name = "提货公里数")
    private Double pickMileage;

    /** 派车单 */
    @ApiModelProperty("派车单")
    @Excel(name = "派车单")
    private Long jcDispatchId;

    /** 组织ID */
    @ApiModelProperty("组织ID")
    @Excel(name = "组织ID")
    private Long jcOrganizationId;

    /** 客户名称(零散客户) */
    @ApiModelProperty("客户名称(零散客户)")
    @Excel(name = "客户名称(零散客户)")
    private String customerNameLs;

    /** 客户ID */
    @ApiModelProperty("客户ID")
    @Excel(name = "客户ID")
    private Long jcCustomerId;

    /** 客户名称 */
    @ApiModelProperty("客户名称")
    @Excel(name = "客户名称")
    private String customerName;

    /** 发货省市县 */
    @ApiModelProperty("发货省市县")
    @Excel(name = "发货省市县")
    private String fhAddress;

    /** 发货电话 */
    @ApiModelProperty("发货电话")
    @Excel(name = "发货电话")
    private String fhIphone;

    /** 发货坐标 */
    @ApiModelProperty("发货坐标")
    @Excel(name = "发货坐标")
    private String fhLtl;

    /** 发货单位 */
    @ApiModelProperty("发货单位")
    @Excel(name = "发货单位")
    private String fhName;

    /** 发货人 */
    @ApiModelProperty("发货人")
    @Excel(name = "发货人")
    private String fhPerson;

    /** 发货详细地址 */
    @ApiModelProperty("发货详细地址")
    @Excel(name = "发货详细地址")
    private String fhDetaileaddress;

    /** 收货省市县地址 */
    @ApiModelProperty("收货省市县地址")
    @Excel(name = "收货省市县地址")
    private String shAddress;

    /** 收货电话 */
    @ApiModelProperty("收货电话")
    @Excel(name = "收货电话")
    private String shIphone;

    /** 收货坐标 */
    @ApiModelProperty("收货坐标")
    @Excel(name = "收货坐标")
    private String shLtl;

    /** 收货单位 */
    @ApiModelProperty("收货单位")
    @Excel(name = "收货单位")
    private String shName;

    /** 收货人 */
    @ApiModelProperty("收货人")
    @Excel(name = "收货人")
    private String shPerson;

    /** 收货详细地址 */
    @ApiModelProperty("收货详细地址")
    @Excel(name = "收货详细地址")
    private String shDetaileaddress;

    /** 发货单号 */
    @ApiModelProperty("发货单号")
    @Excel(name = "发货单号")
    private String relateBill1;

    /** 服务区域 */
    @ApiModelProperty("服务区域")
    @Excel(name = "服务区域")
    private Long jcServerZoneId;

    /** 联系人 */
    @ApiModelProperty("联系人")
    @Excel(name = "联系人")
    private String contactperson;

    /** 联系电话 */
    @ApiModelProperty("联系电话")
    @Excel(name = "联系电话")
    private String iphone;

    /** 计重 */
    @ApiModelProperty("计重")
    @Excel(name = "计重")
    private BigDecimal jzWeight;

    /** 数量 */
    @ApiModelProperty("数量")
    @Excel(name = "数量")
    private Integer number;

    /** 货值 */
    @ApiModelProperty("货值")
    @Excel(name = "货值")
    private BigDecimal value;

    /** 体积 */
    @ApiModelProperty("体积")
    @Excel(name = "体积")
    private BigDecimal volume;

    /** 重量 */
    @ApiModelProperty("重量")
    @Excel(name = "重量")
    private BigDecimal weight;

    /** 订单ID */
    @ApiModelProperty("订单ID")
    @Excel(name = "订单ID")
    private Long jcOrderId;


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("createName", getCreateName())
            .append("createTime", getCreateTime())
            .append("description", getDescription())
            .append("modifyName", getModifyName())
            .append("modifyTime", getModifyTime())
            .append("name", getName())
            .append("status", getStatus())
            .append("address", getAddress())
            .append("customerType", getCustomerType())
            .append("dateAccepted", getDateAccepted())
            .append("pickMileage", getPickMileage())
            .append("jcDispatchId", getJcDispatchId())
            .append("jcOrganizationId", getJcOrganizationId())
            .append("customerNameLs", getCustomerNameLs())
            .append("jcCustomerId", getJcCustomerId())
            .append("customerName", getCustomerName())
            .append("fhAddress", getFhAddress())
            .append("fhIphone", getFhIphone())
            .append("fhLtl", getFhLtl())
            .append("fhName", getFhName())
            .append("fhPerson", getFhPerson())
            .append("fhDetaileaddress", getFhDetaileaddress())
            .append("shAddress", getShAddress())
            .append("shIphone", getShIphone())
            .append("shLtl", getShLtl())
            .append("shName", getShName())
            .append("shPerson", getShPerson())
            .append("shDetaileaddress", getShDetaileaddress())
            .append("relateBill1", getRelateBill1())
            .append("jcServerZoneId", getJcServerZoneId())
            .append("contactperson", getContactperson())
            .append("iphone", getIphone())
            .append("jzWeight", getJzWeight())
            .append("number", getNumber())
            .append("value", getValue())
            .append("volume", getVolume())
            .append("weight", getWeight())
            .append("jcOrderId", getJcOrderId())
            .toString();
    }
}
